#include "frm_login.h"
#include "ui_frm_login.h"
#include "frm_register.h"
#include "emailverify.h"
/**
 * @brief Frm_Login类的构造函数
 * @param parent 父窗口指针，默认为nullptr
 *
 * 该构造函数初始化登录界面，并设置各个按钮的信号与槽连接：
 * 1. 邮箱验证按钮点击事件连接到RequestForEmailVerifier槽函数
 * 2. 注册按钮点击事件连接到RequestForRegister槽函数
 * 3. 登录按钮点击事件连接到OnLogin槽函数
 */
Frm_Login::Frm_Login(QWidget *parent)
    : QDialog(parent)  // 初始化基类QDialog
    , ui(new Ui::Frm_Login)  // 初始化UI界面
{
    ui->setupUi(this);  // 设置UI界面
    // 连接邮箱验证按钮的点击信号到对应的槽函数
    connect(ui->btn_phoveri,&QPushButton::clicked,this,&Frm_Login::RequestForEmailVerifier);
    // 连接注册按钮的点击信号到对应的槽函数
    connect(ui->btn_register,&QPushButton::clicked,this,&Frm_Login::RequestForRegister);
    // 连接登录按钮的点击信号到对应的槽函数
    connect(ui->btn_login,&QPushButton::clicked,this,&Frm_Login::OnLogin);
}
/**
 * @brief Frm_Login类的登录按钮槽函数
 * 当用户点击登录按钮时触发此函数
 * 获取用户输入的用户名和密码，并发送登录请求信号
 */
void Frm_Login::OnLogin(){
    // 获取用户名输入框中的文本
    QString username = ui->txt_username->text();
    // 获取密码输入框中的文本
    QString password = ui->txt_pwd->text();
    // 发送登录请求信号，参数包括用户名、密码和登录类型
    emit RequestForLogin(username,password,"CommonLogin");
    // 注释掉的代码：接受登录操作，关闭登录窗口
}

Frm_Login::~Frm_Login()
{
    delete ui;
}
